﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Domain.审计字段;

namespace Domain_nwj.BasicInformation
{
    /// <summary>
    /// 车辆管理
    /// </summary>
    public class VehicleManagement : AuditableEntityBase
    {
        [Key]
        /// <summary>
        /// 自增主键
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        /// 车辆品牌与型号（非空）
        /// </summary>
        public string BrandandModel { get; set; }

        /// <summary>
        /// 车牌号（唯一标识，非空）
        /// </summary>
        public string LicensePlateNumber { get; set; }

        /// <summary>
        /// 车主姓名
        /// </summary>
        public string? OwnerName { get; set; }

        /// <summary>
        /// 所属单位名称
        /// </summary>
        public string? UnitName { get; set; }

        /// <summary>
        /// 车辆类型（如货车、客车）
        /// </summary>
        public string? VehicleType { get; set; }

        /// <summary>
        /// 车辆颜色
        /// </summary>
        public string? VehicleColor { get; set; }

        /// <summary>
        /// 购买日期
        /// </summary>
        public DateTime? PurchaseDate { get; set; }

        /// <summary>
        /// 车辆长度（单位：米）
        /// </summary>
        public string? Long { get; set; }

        /// <summary>
        /// 额定载重（单位：吨）
        /// </summary>
        public double? RatedLoadCapacity { get; set; }

        /// <summary>
        /// 车辆宽度（单位：米）
        /// </summary>
        public string? Width { get; set; }

        /// <summary>
        /// 车辆高度（单位：米）
        /// </summary>
        public string? Height { get; set; }

        /// <summary>
        /// 保险到期日期
        /// </summary>
        public DateTime? InsuranceExpirationDate { get; set; }

        /// <summary>
        /// 容积（单位：立方米）
        /// </summary>
        public double? Volume { get; set; }

        /// <summary>
        /// 运营证编号
        /// </summary>
        public int? OperationCertificateNumber { get; set; }

        /// <summary>
        /// 年检到期日期
        /// </summary>
        public DateTime? AnnualInspectionExpirationDate { get; set; }

        /// <summary>
        /// 保养里程阈值（单位：公里）
        /// </summary>
        public int? MaintenanceMileageSetting { get; set; }

        /// <summary>
        /// 车辆状态（0-停用，1-启用）
        /// </summary>
        public bool? VehicleStatus { get; set; }

        /// <summary>
        /// 车辆照片（存储路径或Base64）
        /// </summary>
        public string? VehiclePhotos { get; set; }

        /// <summary>
        /// 保险卡照片
        /// </summary>
        public string? InsuranceCardPhotos { get; set; }

        /// <summary>
        /// 定位信息状态（0-无定位，1-有定位）
        /// </summary>
        public bool? LocationInformationStatus { get; set; }
    }
}
